export interface ILoginData {
  username: string
  password: string
  code?: string
}

export interface IImageCodeId {
  image_code_id: string
}

export interface IUserInfo {
  routes: string[]
  buttons: string[]
  roles: string[]
  name: string
  avatar: string
}

// ////////////////////////////////////

/** 用户信息数据类型 */
export type UserInfo = {
  /** 用户路由权限 */
  routes: string[]
  /** 用户按键权限 */
  buttons: string[]
  /** 用户角色权限 */
  roles: string[]
  /** 用户名称 */
  name: string
  /** 用户头像 */
  avatar: string
}

/** 用户信息列表数据类型 */
export interface UserItem {
  /** 用户id */
  id: number
  /** 用户登录名 */
  loginName: string
  /** 用户昵称 */
  nickName: string
  /** 用户密码 */
  passwd: string
  /** 用户实名 */
  name: string
  /** 用户手机号码 */
  phoneNum: string
  /** 用户email */
  email?: any
  /** 用户头像 */
  headImg: string
  /** 用户级别 */
  userLevel: string
  /** 用户状态 */
  status: number
  /** 用户生日 */
  birthday?: any
  /** 用户性别 */
  gender: string
  /** 用户创建时间 */
  createTime: string
  /** 用户创建时间 */
  updateTime?: string | null
  /** 用户操作时间 */
  operateTime: string
  /** 用户openId */
  openId?: any
}

/** 通用分页列表 */
export interface CommonList<T> {
  /** 数据item项列表 */
  records: T[]
  /** 数据列表总记录数 */
  total: number
  /** 数据列表每页记录数 */
  size: number
  /** 当前页码 */
  current: number
  /** 总页数 */
  pages: number
  searchCount: boolean
  orders: any[]
  optimizeCountSql: boolean
  hitCount: boolean
  countId?: any
  maxLimit?: any
}

export interface queryType {
  /** 用户名称 */
  keyword?: string
  /** 状态 */
  status?: number
  /** 创建时间Begin */
  createTimeBegin?: string
  /** 创建时间End */
  createTimeEnd?: string
}
